3D scene object switching system

ABSTRACT

A system is described that allows a user to create a lineup of alternatives as controls for a part of a 3D scene. Once the alternatives are created, the user can click between them by selecting a desired button and only the alternative selected in that lineup is shown in the scene. The user can create multiple lineups, each for a different part or overlapping parts of the scene, for changing the materials in a scene, and/or for positioning objects in a scene. Alternatives from each lineup can be selected and displayed independently of one another. An alternative in a lineup is created by selecting scene contents and designating a lineup alternative control (An add alternative button) to contain or receive the contents. The lineups and alternatives can be named. The lineups are provided in a graphical user interface (GUI) that displays each alternative as a thumbnail image or swatch control where the swatch image can be a compressed image of the scene containing the corresponding alternative. A user switches between alternatives in a lineup by clicking on a control for a desired alternative. The selected alternative is marked with a visibility indicator indicating that the alternative is the one displayed in the scene. Lineups and alternatives can be modified and deleted.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is directed to a system for switching alternatives for a model in a scene so that different versions of the model can be easily presented and, more particularly, to a system that allows a user to select components of alternatives of a model, arrange them in categories and easily swap them in the scene, or to similarly swap different material assignments or positionings of models in the scene.

2. Description of the Related Art

In the world of product development there can often be different configurations for the components of a three-dimensional (3D) product. For example, an automobile can be purchased with several different style wheels or wheel covers, such a star spoke design, a four point spoke design, a solid wheel cover design, etc. A designer often needs to view a 3D model of the product with these alternate configurations. Similarly, the same model may need to be viewed with different materials applied (a “color study”) or in different positions (such as an “exploded view”). One solution is to construct different 3D scenes of the various alternatives. This requires that multiple scenes be constructed, a time consuming task, and then sequentially loaded in and out of the current view, a tedious process that can take an irritating amount of time. The user must manually implement the representation, construction, and mutual exclusion of the 3D design alternatives. And because the different alternatives are often independent, the number of scenes that need to be created can grow quickly (every arrangement of parts in every possible color). In the 2D world paint layers can be used in paint/image processing programs to construct or overlay options. In the 3D world there is a similar concept of layers, which is a way to turn the visibility of groups of objects on and off one at a time, but no explicit mechanism exists for mutually excluding other options when a particular alternative is shown, nor for managing independent switching of parts, materials, and positions.

Because of these problems, users of visualization software need a way to manage the display and content of alternate configurations of products. They need a way to quickly and independently switch between different designs or options within a design, without needing to build many copies of the same model. They also need some way of keeping track of which alternatives are being displayed.

SUMMARY OF THE INVENTION

It is an aspect of the system described herein to provide a system capable of assisting in the management of the display and content of alternate configurations of products.

It is another aspect to provide a system that indicates to the user what alternatives are being displayed.

It is another aspect to provide a system that creates sets of alternatives (lineups), which can independently switch the visibility of items; the materials displayed on those items; and the positions of the items in the scene.

It is also an aspect of the system described herein to provide a user with the capability of designating multiple scene objects as an alternative.

The above aspects can be attained by a system that allows a user to create lineups of alternatives for a part of a scene. Once the alternatives are created, the user can click between them and the alternative selected in that lineup is shown in the scene. The user can create multiple lineups, each for a different part or overlapping parts of the scene, or for different materials applied to the same part, or for the same part in different positions. An alternative in a lineup is created by selecting scene contents and designating a lineup alternative to contain or receive the contents. The lineups are provided in a graphical user interface (GUI) that displays each alternative as a thumbnail image control where the image can be a compressed image of the scene containing the corresponding alternative. A user switches between alternatives in a lineup by clicking on a desired alternative control. The selected alternative in each lineup is marked with a visibility indicator indicating which alternative is the one displayed in the scene. Lineups and alternatives can be modified and deleted.

These together with other aspects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an embodiment of a GUI of the system described herein.

FIG. 2 shows a “visible” indicator of the GUI.

FIGS. 3 a and 3 b depict the flow of operations of the system.

FIGS. 4 a-4 m illustrate the operations of creating lineup model alternatives.

FIGS. 4 n-4 p depicts switching between the alternatives created as shown in figures 4 a-4 m.

FIG. 5 a-5 k shows creating material lineup alternatives.

FIG. 6 illustrates a possible data structure of the system.

FIG. 7 shows system hardware.

FIGS. 8-12 illustrate GUI embodiments.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the present invention provide a graphical user interface (GUI) and underlying mechanisms to control loading and visibility of the objects within a 3D scene. The GUI is designed in such a manner that a designer can operate it without special training and it allows the designer to create sets of alternatives and easily and quickly switch between them to evaluate design options.

As noted above, the user interface is used to control displaying alternative configurations of a 3D scene of objects. The user interface is based on an iconic visual representation of an alternative—a collection of objects a user wants displayed or hidden as a unit, or displayed using particular materials, or in specific positions. Collections of one or more alternatives are grouped into “lineups” and are visually represented. Within a lineup, only one alternative can be active, that is, have its objects displayed. In the case of material lineups, the active alternative dictates which materials are applied to objects in the scene. For positional lineups, the active alternative dictates the position in which scene objects will be presented. An alternative may be made active by clicking on the iconic representation for it. Other GUI operations exist for creating, deleting and modifying the contents of alternatives and lineups, plus controlling the visibility of the iconic representations themselves.

FIG. 1 depicts a “window” type embodiment of the graphical user interface (GUI) 100. The GUI 100 includes several buttons or controls that facilitate the creation of lineups 102 and alternatives 104 within a line up. Buttons for other operations, such as for adding 106 a selected object into a lineup and removing 108 a selected object from a lineup, duplicating 110 an alternative and its contents, so that it can be altered and become a new alternative, renaming 112 an alternative, deleting 114 an alternative, and selecting 116 the contents of an alternative so that it can be altered. Note, the altering of the contents of an object, such as changing the shape of an automobile wheel, is performed using conventional modeling tools, such as MAYA® available from Alias Systems Corp. of Toronto, Canada. The example of the GUI of FIG. 1 depicts three lineups 118, 120 and 122. The lineups 120 and 122 are empty. The lineup 118 has been selected and is one of bumpers and grills for an automobile 123 and includes five alternatives: classic style 124, retro style 126, red style 128, avant garde style 130 and 132, which is a no bumper alternative. Each of the alternatives is depicted in a thumbnail or swatch that is an image compressed version of or frame the particular alternative contents as in the scene to allow the contents to be somewhat recognized by the user. As noted, in this version of the swatch, the visual image is a small or compressed version of the part or alternative as it appears in the scene, that is, a bumper as it appears on the car. The visual image of the swatch can be an image of the part only (in this case the bumper) or it can be an icon representing the part. The swatch is also a button or control. Each swatch also has an associated name field 134, where the swatch 130 has a name field including the name “Avant Garde”. The user is allowed to select (point and click) one of the swatches and the contents of that swatch are applied to the model, in this case the car 123. The example shown in FIG. 1 depicts the classic selection 124 having it's contents applied to the model 123. The contents are automatically applied by the functions of a system. This GUI 100 embodiment particularly depicts this selection by surrounding the swatch (124/202) with a colored, thickened or highlighted border 136/204 which can be seen more readily in FIG. 2. Other methods of indicating the selection to the user can also be used, such as using a special icon or enlarging the icon or coloring it while leaving the others monochrome. In the GUI 100 each lineup also has a lineup descriptor field, such as field 138 for the bumper/grill lineup where a description of the particular lineup can be provided.

The process performed in association with the GUI of FIG. 1 is depicted in FIGS. 3 a and 3 b. This process 300 will be discussed in conjunction with FIGS. 4 a-4 p. At the start, the user has a scene (FIG. 4 a) containing parts. For example, a 3D scene 400 with 3D objects, (as shown here a baby 402 with a hand for holding something, a spoon 404 being currently held, an arrow 406 and a magnifying glass 408), a photomontage with images, or any other collection of selectable objects. The user activates 302 (FIG. 3 a) the alternatives user interface (GUI), such as the version of FIG. 1. To do this, the user can press a key or invoke a menu item. The user interface 410 can appear in a semi-transparent overlay, over the view of the scene (FIG. 4 b). This interface could also appear in a separate window, or on a remote computer screen connected over a regular or wireless network, or on a PDA. The system then waits 304 for an action by the user. Since in this example, there are no lineups the user needs to create a new lineup. To do this, the user selects or left “clicks on” the create button 412 (104). The system recognizes 306 the selection and pops up 308 a menu that allows the user to select 310 the creation of a lineup for model, material or position. The system conventionally creates 312 (FIG. 4 d) the graphic elements for a lineup file folder type representation 414 and an alternative button 416 (and the underlying data structures, such as a file folder to hold the contents of the alternatives of the swatches). The “add alternative” button acts as a placeholder for the alternative that is to be added. The new lineup is given a name/description that, as in this case, is typically merely a category descriptor (“Lineup”) and a sequence number (“1”).

The user is then allowed to add one or more items to the lineup as an alternative. The user selects one or more items, such as spoon 404 (see FIG. 4 e), and then activates the add alternative button 416 (FIG. 4 f) to make a selection (306). Note, each time an alternative is added, the system creates a new button for the next possible alternative. The system obtains 314 all of the items currently selected by the user, adds the alternative to the end of the lineup, copies the list of items into the new alternative. The system also creates a swatch, or thumbnail image of the selected contents and overlays it on the button (FIG. 4 g). The system also, in this GUI embodiment, adds a visibility “eye” icon 418 to the button swatch 416 (and a new alternative button 420 is created). The new alternative is given a name/description that, as in this case, is merely a category descriptor (“Alt”) and a sequence number (“1”). For a model lineup all the alternatives except the new one are hidden 316. For a material lineup, nothing is hidden. Instead, the system records all the selected objects along with their current material assignments, and stores 318 that in the alternative. Similarly, for positional lineups, the system records all the selected objects and their current positions, and stores that 320.

The user then selects a different object, such as arrow 406 (FIG. 4 h) and adds it to the lineup by selecting the button 420. The system makes a new alternative from the selected geometry and displays it in the lineup (FIG. 4 i). The new “arrow” alternative is marked visible with icon 422, and the spoon is no longer marked visible. Since the spoon is not the visible alternative any more, it is hidden in the scene 400 (FIG. 4 j). In a typical scenario, the user would now move the arrow 406 to take the place of the spoon 404 in the scene. The user can continue to select different objects in the scene and create lineup alternatives. In this example, the user has selected the magnifying glass 408 (FIG. 4 k), added it as an alternative 424. The system has then marked it as visible and consequently hid the other alternatives of this lineup (FIG. 4 m). For a material lineup, the user would change the materials assigned to the objects in the scene, then reselect them and create a new alternative. Similarly for positional lineups, where the user would move objects in the scene, then select them and create a new alternative. The user can now switch between the different alternatives by selecting the appropriate buttons as shown in FIGS. 4 n, 4 o and 4 p. That is, the user can now switch between the alternatives by simply clicking on them. When the user switches to an alternative, it becomes visible and all the other alternatives in the lineup are hidden. The visible alternative is marked with the “eye” icon (the form of this icon varies for material and positional alternatives, to help distinguish them from one another). The user can have any number of lineups. Only one alternative in each lineup is visible. These alternatives can be used when the user is doing a presentation, to show the different possibilities of a model. For material alternatives, activating the appropriate button will assign all the recorded materials to the recorded objects. Similarly, selecting a positional alternative will move all the recorded objects to their recorded positions.

As depicted in FIG. 3, if the user selects (left clicks—306) an alternative in another model lineup, the other alternatives in that model lineup are hidden 322, and the visible alternative is marked. Similarly, for a different material lineup the different material is applied 324 and the swatch is marked visible. Again, similarly for the positional lineup, the selected positions and orientations are obtained and applied 326 and the alternative indicated.

The user can also right click 328 (FIG. 3 b) on a lineup and a pop-up menu conventionally arises 330 that allows a user to chose 332 to rename 334 a lineup where the system conventionally accesses the name field of the lineup data structure and changes its contents or to remove 336 it where the system conventionally deletes it.

A right click can over an alternative (328) also triggers 340 a pop-up menu that allows the user to chose 342 whether to add 344 a selection of objects to an existing alternative where the system locates the objects that are currently selected and adds them to the currently visible alternative. For model lineups the system makes 346 all the selected items visible, for the material lineups updates 348 with the current materials and for the positional lineups updates 350 with the current position and orientation. The user can also chose to remove 352 a selection from an alternative where the system locates the objects that are selected and removes them from the designated visible alternative. The user can further chose to duplicate 354 an alternative, rename 356 an alternative, remove 358 an alternative completely and select 360 all objects of an alternative.

FIGS. 5 a-5 k illustrates the creation of material alternatives and flow within FIGS. 3 a and 3 b can be seen. In the beginning (FIG. 5 a), the user has a scene containing parts. For example, a 3D scene with 3D objects (as shown here), a photomontage with images, or any other collection of selectable objects. To bring up the alternatives user interface the user can press a key or invoke a menu item to do this. The user interface appears (FIG. 5 b) in a semi-transparent overlay, over the view of the scene. To create a new material lineup, the user clicks on the “Create” button, is given a choice (FIG. 5 c) of lineup types and selects “New Material Lineup”. The system creates and displays a new, empty lineup (FIG. 5 d). The user assigns materials to the objects in the scene, to get the first look wanted (FIG. 5 e). The user selects all the objects whose materials the user wishes to save in the alternative (FIG. 5 f). The user clicks on the “Add Alternative” button in a lineup and the system makes a new alternative from the selected materials, and displays it on in the lineup (FIG. 5 g). The user assigns a different set of materials to the objects, to get a different look (FIG. 5 h). The user re-selects these objects, and clicks on the “Add Alternative” button. The system makes a new alternative from the selected geometry and displays it in the lineup with its new materials (FIG. 5 i). The steps (FIGS. 5 h and 5 i) are repeated until the user has all the alternatives wanted (FIG. 5 j). The scene is now set up. To use the alternatives the user clicks on them (FIG. 5 k). When the user clicks on each alternative, the models go back to the materials that were stored in that alternative, and the current alternative is marked with an icon to show that it is current.

FIG. 6 illustrates a data structure 500 for a model line up that can be used for the system described herein. A model entry 502 points to the lineups 504 and 506 that exist for the model. A lineup can include a name field or entry 508. Each lineup can point to its corresponding alternatives 510 and 512, 514. An alternative can include a name entry 516, a location entry 508 indicating where the alternative is located in the lineup. Visibility is preferably indicated by an index under the lineup 506 that says which of the children alternatives is the visible one. Alternatively by a visible entry 520 can be provided that indicates whether the alternative is the visible alternative. Contents 522 of the alternative are stored along with the swatch image 524. For models, the alternative contents include pointers to models. In the case of materials alternatives, the contents 522 include a list of pairs, objects plus their material. For positional alternatives, the contents include objects plus their positions.

FIG. 7 illustrates typical hard components of the system 600 discussed herein. The system 600 includes a desktop type computer 602 that performs the processes discussed herein based on inputs from an input device such as a mouse 604 or keyboard 606 and displays the results—model, lineups, alternatives, etc. on a display 608.

FIG. 8 illustrates a “folders” type GUI embodiment with semitransparent lineups and alternatives. This embodiment also illustrates that the visible lineups of the model can have a visibility indicator, in this case the eye icon. FIG. 8 also shows the different kinds of lineups can be demarcated by different identifying icons; eyes for the model lineups, spheres for the material lineups, and crosshairs for the positional lineups. FIG. 9 shows a GUI embodiment modeled on a marking menu. FIG. 10 illustrates a text only window type embodiment. FIG. 11 depicts a tree type GUI embodiment. FIG. 12 illustrates a cascading menu type embodiment.

The present invention has been described with respect to using a desktop system to perform and display the results of the operations of the system. It is also possible to implement this over the Internet or local-area network so that a presentation can take advantage of the high processing speed of a server for integrating alternatives into a complex 3D model.

The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention that fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention. 

1. A graphical user interface, comprising: one or more alternative configuration lineups, each lineup comprising: at least two alternative configuration controls representing alternative configurations of a part of a scene, each of the controls comprising a visual image representing a corresponding alternative; and an indicator associated with one of the controls indicating which of the alternative configurations is visible in the scene.
 2. A user interface as recited in claim 1, wherein the alternative configurations comprise one of part model, part material or part position or a combination thereof.
 3. An interface as recited in claim 2, wherein only a selected one of the alternatives is displayed in the scene.
 4. An interface as recited in claim 1, wherein said visual image is one of an iconic image, a compressed image of the part, or a compressed image of the part in the scene.
 5. An interface as recited in claim 1, wherein said indicator comprises a highlighted border of the one of the controls.
 6. An interface as recited in claim 1, wherein said indicator comprises a visibility icon.
 7. An interface as recited in claim 1, wherein said interface has an associated scene and said scene has the indicated alternative visible.
 8. An interface as recited in claim 7, wherein said scene has another one of the alternatives visible when another one of the alternatives is selected by a user.
 9. An interface as recited in claim 1, wherein the selection of an alternative by the user is indicated by clicking on a control.
 10. An interface as recited in claim 1, further comprising an add alternative control for adding an alternative to a corresponding one of the lineups.
 11. An interface as recited in claim 1, further comprising a create lineup control for creating a lineup of a particular type, a create alternative control for creating an alternative, a select control for indicating a selection of scene contents, an add selection control for adding a selection to an alternative, a remove selection control for removing a selection from an alternative; a duplicate control for duplicating an alternative; a rename control for renaming a lineup or alternative and a delete control for deleting a lineup or alternative.
 12. An interface as recited in claim 1, wherein the interface is semitransparent.
 13. An interface as recited in claim 1, further comprising a lineup name field, an alternative name field and a folder graphic partially enclosing alternatives as a lineup.
 14. An interface as recited in claim 2, further comprising different identifying icons identifying different kinds of lineups.
 15. A method, comprising: allowing a user to select an alternative for a part of a scene; and displaying the alternative in the scene.
 16. A method as recited in claim 15, wherein non-selected alternatives are not displayed in the scene.
 17. A method as recited in claim 15, wherein the allowing comprises allowing the user to click on a control representing the alternative.
 18. A method as recited in claim 15, wherein said displaying comprises providing a visible indicator of the alternative selected.
 19. A method as recited in claim 16, further comprising displaying, on top of the scene, visible representations of the parts of the scene of the corresponding selected alternative and non-selected alternatives.
 20. A method as recited in claim 19, further comprising displaying an alternative name in association with the selected alternative and non-selected alternatives.
 21. A method as recited in claim 19, further comprising displaying lineups of alternatives.
 22. A method, comprising: allowing a user to select scene contents; allowing the user to add the selected scene contents to an alternative lineup of scene contents; and displaying the selected scene contents in the scene.
 23. A method as recited in claim 22, further comprising displaying the lineup on top of the scene.
 24. A method as recited in claim 22, wherein scene contents for non-selected alternatives are not displayed in the scene.
 25. A method as recited in claim 22, wherein the allowing the user to add comprises allowing a user to select an alternative control.
 26. A method as recited in claim 22, wherein the allowing the user to add comprises allowing the user to: create a first lineup of a given type; create a first control for a first alternative of the first lineup; designate first scene contents; and designate the first control.
 27. A method as recited in claim 26, wherein the allowing the user to add further comprises allowing the user to: designate second scene contents; and designate a second control of the first lineup.
 28. A method as recited in claim 27, wherein the allowing the user to add further comprises allowing the user to: create a second lineup; create a first control for a first alternative of the second lineup; designate first scene contents for the first alternative of the second lineup; and designate the first control for the first alternative of the second lineup.
 29. A method as recited in claim 28, further comprising allowing the user to designate which alternative is displayed in the scene by selecting one of the controls.
 30. A system, comprising: a display displaying a scene and a lineup of alternatives for a part of the scene; an input device allowing a user to select one of the alternatives; and a computer displaying the alternative in the scene and not displaying non-selected alternatives in the scene.
 31. A system, comprising: a display displaying a scene; an input device allowing a user to select a part of the scene and indicate the part of the scene as one of a lineup of alternatives for the part of the scene; and a computer displaying the alternative in the scene and not displaying non-selected alternatives in the scene.
 32. A computer readable data structure for controlling a computer, comprising: a line up comprising: a set of alternatives for a part of a scene indicated by the lineup; and a visibility indicator for each of the alternatives indicating whether the corresponding alternative is displayed in the scene.
 33. A graphical user interface, comprising: one or more alternative model configuration lineups, one or more alternative material configuration lineups and alternative position configuration lineups, each lineup comprising: a lineup type indicator indicating a type of lineup; at least two alternative configuration semi transparent selectable controls representing alternative configurations of a part of a scene, each of the controls comprising a compressed image of the part representing a corresponding alternative; and a visibility icon associated with one of the controls indicating which of the alternative configurations is selected and is visible; and an associated scene having the indicated alternatives visible. 